package gui;

import io.Archivo;
import io.Carpeta;
import io.Cliente;
import io.ItemAgenda;
import io.ItemBusqueda;
import io.hd.GestorLog;
import io.servicios.InterfazServiciosServidor;
import java.awt.Cursor;
import java.awt.Image;
import java.awt.event.MouseEvent;
import java.io.IOException;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.util.List;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel;
import logica.InformarUsuarioListener;
import logica.Nucleo;
import logica.VerificadorException;

/**
 *
 * @author Mariano Zapata
 */
public class Ventana extends javax.swing.JFrame implements InformarUsuarioListener {

    private static final String ERROR_LAF= "Máquina Virtual Java (JVM) incompatible. Se requiere versión 6 o superior.";

    private static final int SELECCIONO_NODO_CARPETA= 0;
    private static final int SELECCIONO_NODO_CLIENTE= 1;
    private static final int SELECCIONO_NODO_VACIO= 2;
    private static final int SELECCIONO_NODO_RAIZ= 3;
    private static final int SELECCIONO_NODO_ARCHIVO= 4;
    private static final int SELECCIONO_NODO_EXPEDIENTE= 5;

    private Nucleo nucleo;
    private PanelArbolControlador pac;
    private PanelPestaniasControlador ppc;
    private PanelArchivosAbiertosControlador paac;
    private PanelWidgetAgendaControlador pwac;

    public Ventana()
    {
        try {
            javax.swing.JFrame.setDefaultLookAndFeelDecorated(true);
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
            initComponents();
            Image icono= new ImageIcon(getClass().getResource("/gui/icono/logo_chico.png")).getImage();
            this.setIconImage(icono);
            arbol.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
            arbol.setCellRenderer(new RenderArbol());
            listaArchivos.setCellRenderer(new RenderListaArchivo());
            nucleo= null;
            pac= new PanelArbolControlador(arbol);
            ppc= new PanelPestaniasControlador(panelPestanias);
            paac= new PanelArchivosAbiertosControlador(pestaniasDAA, listaArchivos, todos);
            pwac= new PanelWidgetAgendaControlador(recordatorio);
            this.pack();
            this.setSize(1050, 700);
            this.setLocationRelativeTo(null);
            this.habilitarBotones(SELECCIONO_NODO_VACIO);
        } catch (ClassNotFoundException ex) {this.errorLAF();}
          catch (InstantiationException ex) {this.errorLAF();}
          catch (IllegalAccessException ex) {this.errorLAF();}
          catch (UnsupportedLookAndFeelException ex) {this.errorLAF();}
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        popupCarpeta = new javax.swing.JPopupMenu();
        abrirPopCarpeta = new javax.swing.JMenuItem();
        separadorPopCarpeta = new javax.swing.JPopupMenu.Separator();
        nuevaCarpetaPopCarpeta = new javax.swing.JMenuItem();
        nuevoExpedientePopCarpeta = new javax.swing.JMenuItem();
        nuevoClientePopCarpeta = new javax.swing.JMenuItem();
        nuevoArchivoPopCarpeta = new javax.swing.JMenuItem();
        jSeparator6 = new javax.swing.JPopupMenu.Separator();
        copiarPopCarpeta = new javax.swing.JMenuItem();
        cortarPopCarpeta = new javax.swing.JMenuItem();
        pegarPopCarpeta = new javax.swing.JMenuItem();
        jSeparator7 = new javax.swing.JPopupMenu.Separator();
        renombrarPopCarpeta = new javax.swing.JMenuItem();
        eliminarPopCarpeta = new javax.swing.JMenuItem();
        popupHoja = new javax.swing.JPopupMenu();
        abrirPopHoja = new javax.swing.JMenuItem();
        jSeparator8 = new javax.swing.JPopupMenu.Separator();
        copiarPopHoja = new javax.swing.JMenuItem();
        cortarPopHoja = new javax.swing.JMenuItem();
        jSeparator9 = new javax.swing.JPopupMenu.Separator();
        renombrarPopHoja = new javax.swing.JMenuItem();
        eliminarPopHoja = new javax.swing.JMenuItem();
        popupRaiz = new javax.swing.JPopupMenu();
        nuevaCarpetaPopRaiz = new javax.swing.JMenuItem();
        nuevoClientePopRaiz = new javax.swing.JMenuItem();
        nuevoArchivoPopRaiz = new javax.swing.JMenuItem();
        jSeparator10 = new javax.swing.JPopupMenu.Separator();
        pegarPopRaiz = new javax.swing.JMenuItem();
        panelWidgetAgenda = new javax.swing.JPanel();
        hoy = new javax.swing.JLabel();
        siguiente = new javax.swing.JButton();
        anterior = new javax.swing.JButton();
        recordatorio = new javax.swing.JLabel();
        barraHerramientas = new javax.swing.JToolBar();
        guardar = new javax.swing.JButton();
        guardarTodo = new javax.swing.JButton();
        jSeparator3 = new javax.swing.JToolBar.Separator();
        nuevaCarpeta = new javax.swing.JButton();
        nuevoExpediente = new javax.swing.JButton();
        nuevoCliente = new javax.swing.JButton();
        nuevoArchivo = new javax.swing.JButton();
        jSeparator4 = new javax.swing.JToolBar.Separator();
        copiar = new javax.swing.JButton();
        cortar = new javax.swing.JButton();
        pegar = new javax.swing.JButton();
        jSeparator5 = new javax.swing.JToolBar.Separator();
        renombrar = new javax.swing.JButton();
        eliminar = new javax.swing.JButton();
        panelSplit = new javax.swing.JSplitPane();
        panelPestanias = new javax.swing.JTabbedPane();
        pestaniasDAA = new javax.swing.JTabbedPane();
        jScrollPane2 = new javax.swing.JScrollPane();
        arbol = new javax.swing.JTree();
        jPanel1 = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        listaArchivos = new javax.swing.JList();
        cerrarArchivo = new javax.swing.JButton();
        todos = new javax.swing.JCheckBox();
        jMenuBar1 = new javax.swing.JMenuBar();
        menuArchivo = new javax.swing.JMenu();
        itemConfiguracion = new javax.swing.JMenuItem();
        jSeparator1 = new javax.swing.JPopupMenu.Separator();
        itemAcercaDe = new javax.swing.JMenuItem();
        jSeparator2 = new javax.swing.JPopupMenu.Separator();
        itemSalir = new javax.swing.JMenuItem();
        menuHerramientas = new javax.swing.JMenu();
        itemAgenda = new javax.swing.JMenuItem();
        menuBuscar = new javax.swing.JMenu();
        itemBuscarArchivo = new javax.swing.JMenuItem();
        itemBuscarCarpeta = new javax.swing.JMenuItem();
        menuBuscarCliente = new javax.swing.JMenu();
        itemBuscarClienteApellido = new javax.swing.JMenuItem();
        itemBuscarClienteDni = new javax.swing.JMenuItem();
        itemBuscarClienteNombre = new javax.swing.JMenuItem();
        menuBuscarExpediente = new javax.swing.JMenu();
        itemBuscarExpedienteCaratula = new javax.swing.JMenuItem();
        itemBuscarExpedienteEstado = new javax.swing.JMenuItem();
        itemBuscarExpedienteInstancia = new javax.swing.JMenuItem();
        itemBuscarExpedienteJuzgado = new javax.swing.JMenuItem();
        itemBuscarExpedienteSecretaria = new javax.swing.JMenuItem();
        itemBuscarExpedienteTipo = new javax.swing.JMenuItem();

        abrirPopCarpeta.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/abrir.png"))); // NOI18N
        abrirPopCarpeta.setText("Abrir");
        abrirPopCarpeta.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                abrirPopCarpeta(evt);
            }
        });
        popupCarpeta.add(abrirPopCarpeta);
        popupCarpeta.add(separadorPopCarpeta);

        nuevaCarpetaPopCarpeta.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/carpeta_agregar.png"))); // NOI18N
        nuevaCarpetaPopCarpeta.setText("Crear carpeta...");
        nuevaCarpetaPopCarpeta.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                nuevaCarpetaPopCarpeta(evt);
            }
        });
        popupCarpeta.add(nuevaCarpetaPopCarpeta);

        nuevoExpedientePopCarpeta.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/expediente_agregar.png"))); // NOI18N
        nuevoExpedientePopCarpeta.setText("Crear expediente...");
        nuevoExpedientePopCarpeta.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                nuevoExpedientePopCarpeta(evt);
            }
        });
        popupCarpeta.add(nuevoExpedientePopCarpeta);

        nuevoClientePopCarpeta.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/cliente_agregar.png"))); // NOI18N
        nuevoClientePopCarpeta.setText("Crear cliente...");
        nuevoClientePopCarpeta.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                nuevoClientePopCarpeta(evt);
            }
        });
        popupCarpeta.add(nuevoClientePopCarpeta);

        nuevoArchivoPopCarpeta.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/archivo_agregar.png"))); // NOI18N
        nuevoArchivoPopCarpeta.setText("Cargar archivo...");
        nuevoArchivoPopCarpeta.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                nuevoArchivoPopCarpeta(evt);
            }
        });
        popupCarpeta.add(nuevoArchivoPopCarpeta);
        popupCarpeta.add(jSeparator6);

        copiarPopCarpeta.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/copiar.png"))); // NOI18N
        copiarPopCarpeta.setText("Copiar");
        copiarPopCarpeta.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                copiarPopCarpeta(evt);
            }
        });
        popupCarpeta.add(copiarPopCarpeta);

        cortarPopCarpeta.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/cortar.png"))); // NOI18N
        cortarPopCarpeta.setText("Cortar");
        cortarPopCarpeta.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cortarPopCarpeta(evt);
            }
        });
        popupCarpeta.add(cortarPopCarpeta);

        pegarPopCarpeta.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/pegar.png"))); // NOI18N
        pegarPopCarpeta.setText("Pegar");
        pegarPopCarpeta.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                pegarPopCarpeta(evt);
            }
        });
        popupCarpeta.add(pegarPopCarpeta);
        popupCarpeta.add(jSeparator7);

        renombrarPopCarpeta.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/renombrar.png"))); // NOI18N
        renombrarPopCarpeta.setText("Renombrar...");
        renombrarPopCarpeta.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                renombrarPopCarpeta(evt);
            }
        });
        popupCarpeta.add(renombrarPopCarpeta);

        eliminarPopCarpeta.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/eliminar.png"))); // NOI18N
        eliminarPopCarpeta.setText("Eliminar");
        eliminarPopCarpeta.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                eliminarPopCarpeta(evt);
            }
        });
        popupCarpeta.add(eliminarPopCarpeta);

        abrirPopHoja.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/abrir.png"))); // NOI18N
        abrirPopHoja.setText("Abrir");
        abrirPopHoja.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                abrirPopHoja(evt);
            }
        });
        popupHoja.add(abrirPopHoja);
        popupHoja.add(jSeparator8);

        copiarPopHoja.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/copiar.png"))); // NOI18N
        copiarPopHoja.setText("Copiar");
        copiarPopHoja.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                copiarPopHoja(evt);
            }
        });
        popupHoja.add(copiarPopHoja);

        cortarPopHoja.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/cortar.png"))); // NOI18N
        cortarPopHoja.setText("Cortar");
        cortarPopHoja.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cortarPopHoja(evt);
            }
        });
        popupHoja.add(cortarPopHoja);
        popupHoja.add(jSeparator9);

        renombrarPopHoja.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/renombrar.png"))); // NOI18N
        renombrarPopHoja.setText("Renombrar...");
        renombrarPopHoja.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                renombrarPopHoja(evt);
            }
        });
        popupHoja.add(renombrarPopHoja);

        eliminarPopHoja.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/eliminar.png"))); // NOI18N
        eliminarPopHoja.setText("Eliminar");
        eliminarPopHoja.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                eliminarPopHoja(evt);
            }
        });
        popupHoja.add(eliminarPopHoja);

        nuevaCarpetaPopRaiz.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/carpeta_agregar.png"))); // NOI18N
        nuevaCarpetaPopRaiz.setText("Crear carpeta...");
        nuevaCarpetaPopRaiz.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                nuevaCarpetaPopRaiz(evt);
            }
        });
        popupRaiz.add(nuevaCarpetaPopRaiz);

        nuevoClientePopRaiz.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/cliente_agregar.png"))); // NOI18N
        nuevoClientePopRaiz.setText("Crear cliente...");
        nuevoClientePopRaiz.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                nuevoClientePopRaiz(evt);
            }
        });
        popupRaiz.add(nuevoClientePopRaiz);

        nuevoArchivoPopRaiz.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/archivo_agregar.png"))); // NOI18N
        nuevoArchivoPopRaiz.setText("Cargar archivo...");
        nuevoArchivoPopRaiz.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                nuevoArchivoPopRaiz(evt);
            }
        });
        popupRaiz.add(nuevoArchivoPopRaiz);
        popupRaiz.add(jSeparator10);

        pegarPopRaiz.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/pegar.png"))); // NOI18N
        pegarPopRaiz.setText("Pegar");
        pegarPopRaiz.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                pegarPopRaiz(evt);
            }
        });
        popupRaiz.add(pegarPopRaiz);

        setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
        setTitle("Cliente - Estudio Jurídico");
        setMinimumSize(new java.awt.Dimension(1050, 700));
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                salir(evt);
            }
        });

        panelWidgetAgenda.setBorder(javax.swing.BorderFactory.createEtchedBorder());

        hoy.setFont(new java.awt.Font("Tahoma", 1, 11));
        hoy.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/calendario.png"))); // NOI18N
        hoy.setText("Hoy:");
        hoy.setToolTipText("Widget de agenda. Click para abrir la agenda.");
        hoy.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        hoy.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                panelWidgetAgendaHoy(evt);
            }
        });

        siguiente.setText(">>");
        siguiente.setToolTipText("Siguiente");
        siguiente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                panelWidgetAgendaSiguiente(evt);
            }
        });

        anterior.setText("<<");
        anterior.setToolTipText("Anterior");
        anterior.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                panelWidgetAgendaAnterior(evt);
            }
        });

        recordatorio.setText("(ninguno)");

        javax.swing.GroupLayout panelWidgetAgendaLayout = new javax.swing.GroupLayout(panelWidgetAgenda);
        panelWidgetAgenda.setLayout(panelWidgetAgendaLayout);
        panelWidgetAgendaLayout.setHorizontalGroup(
            panelWidgetAgendaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelWidgetAgendaLayout.createSequentialGroup()
                .addComponent(hoy)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(recordatorio, javax.swing.GroupLayout.DEFAULT_SIZE, 877, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(anterior)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(siguiente))
        );
        panelWidgetAgendaLayout.setVerticalGroup(
            panelWidgetAgendaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelWidgetAgendaLayout.createSequentialGroup()
                .addGap(0, 0, Short.MAX_VALUE)
                .addGroup(panelWidgetAgendaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(hoy)
                    .addComponent(siguiente)
                    .addComponent(anterior)
                    .addComponent(recordatorio)))
        );

        barraHerramientas.setFloatable(false);
        barraHerramientas.setRollover(true);

        guardar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/guardar.png"))); // NOI18N
        guardar.setToolTipText("Guardar");
        guardar.setFocusable(false);
        guardar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        guardar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        guardar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                barraHerramientasGuardar(evt);
            }
        });
        barraHerramientas.add(guardar);

        guardarTodo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/guardar_todo.png"))); // NOI18N
        guardarTodo.setToolTipText("Guardar todo");
        guardarTodo.setFocusable(false);
        guardarTodo.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        guardarTodo.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        guardarTodo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                barraHerramientasGuardarTodo(evt);
            }
        });
        barraHerramientas.add(guardarTodo);
        barraHerramientas.add(jSeparator3);

        nuevaCarpeta.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/carpeta_agregar.png"))); // NOI18N
        nuevaCarpeta.setToolTipText("Crear carpeta...");
        nuevaCarpeta.setFocusable(false);
        nuevaCarpeta.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        nuevaCarpeta.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        nuevaCarpeta.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                barraHerramientasNuevaCarpeta(evt);
            }
        });
        barraHerramientas.add(nuevaCarpeta);

        nuevoExpediente.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/expediente_agregar.png"))); // NOI18N
        nuevoExpediente.setToolTipText("Crear expediente...");
        nuevoExpediente.setFocusable(false);
        nuevoExpediente.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        nuevoExpediente.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        nuevoExpediente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                barraHerramientasNuevoExpediente(evt);
            }
        });
        barraHerramientas.add(nuevoExpediente);

        nuevoCliente.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/cliente_agregar.png"))); // NOI18N
        nuevoCliente.setToolTipText("Crear cliente...");
        nuevoCliente.setFocusable(false);
        nuevoCliente.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        nuevoCliente.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        nuevoCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                barraHerramientasNuevoCliente(evt);
            }
        });
        barraHerramientas.add(nuevoCliente);

        nuevoArchivo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/archivo_agregar.png"))); // NOI18N
        nuevoArchivo.setToolTipText("Cargar archivo...");
        nuevoArchivo.setFocusable(false);
        nuevoArchivo.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        nuevoArchivo.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        nuevoArchivo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                barraHerramientasNuevoArchivo(evt);
            }
        });
        barraHerramientas.add(nuevoArchivo);
        barraHerramientas.add(jSeparator4);

        copiar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/copiar.png"))); // NOI18N
        copiar.setToolTipText("Copiar");
        copiar.setFocusable(false);
        copiar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        copiar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        copiar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                barraHerramientasCopiar(evt);
            }
        });
        barraHerramientas.add(copiar);

        cortar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/cortar.png"))); // NOI18N
        cortar.setToolTipText("Cortar");
        cortar.setFocusable(false);
        cortar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        cortar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        cortar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                barraHerramientasCortar(evt);
            }
        });
        barraHerramientas.add(cortar);

        pegar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/pegar.png"))); // NOI18N
        pegar.setToolTipText("Pegar");
        pegar.setFocusable(false);
        pegar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        pegar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        pegar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                barraHerramientasPegar(evt);
            }
        });
        barraHerramientas.add(pegar);
        barraHerramientas.add(jSeparator5);

        renombrar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/renombrar.png"))); // NOI18N
        renombrar.setToolTipText("Renombrar...");
        renombrar.setFocusable(false);
        renombrar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        renombrar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        renombrar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                barraHerramientasRenombrar(evt);
            }
        });
        barraHerramientas.add(renombrar);

        eliminar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/eliminar.png"))); // NOI18N
        eliminar.setToolTipText("Eliminar");
        eliminar.setFocusable(false);
        eliminar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        eliminar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        eliminar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                barraHerramientasEliminar(evt);
            }
        });
        barraHerramientas.add(eliminar);

        panelSplit.setDividerLocation(170);
        panelSplit.setDividerSize(6);
        panelSplit.setContinuousLayout(true);
        panelSplit.setOneTouchExpandable(true);

        panelPestanias.setTabLayoutPolicy(javax.swing.JTabbedPane.SCROLL_TAB_LAYOUT);
        panelSplit.setRightComponent(panelPestanias);

        javax.swing.tree.DefaultMutableTreeNode treeNode1 = new javax.swing.tree.DefaultMutableTreeNode("root");
        arbol.setModel(new javax.swing.tree.DefaultTreeModel(treeNode1));
        arbol.setShowsRootHandles(true);
        arbol.addTreeWillExpandListener(new javax.swing.event.TreeWillExpandListener() {
            public void treeWillCollapse(javax.swing.event.TreeExpansionEvent evt)throws javax.swing.tree.ExpandVetoException {
            }
            public void treeWillExpand(javax.swing.event.TreeExpansionEvent evt)throws javax.swing.tree.ExpandVetoException {
                arbolExpandir(evt);
            }
        });
        arbol.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                arbolMouse(evt);
            }
        });
        arbol.addTreeExpansionListener(new javax.swing.event.TreeExpansionListener() {
            public void treeExpanded(javax.swing.event.TreeExpansionEvent evt) {
            }
            public void treeCollapsed(javax.swing.event.TreeExpansionEvent evt) {
                arbolColapsar(evt);
            }
        });
        arbol.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyReleased(java.awt.event.KeyEvent evt) {
                arbolKey(evt);
            }
        });
        jScrollPane2.setViewportView(arbol);

        pestaniasDAA.addTab("Directorio", jScrollPane2);

        jPanel1.setMinimumSize(new java.awt.Dimension(162, 544));
        jPanel1.setPreferredSize(new java.awt.Dimension(162, 544));

        listaArchivos.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
        jScrollPane1.setViewportView(listaArchivos);

        cerrarArchivo.setText("Cerrar");
        cerrarArchivo.setToolTipText("Cerrar uno o todos los archivos verificando si se desean guardar");
        cerrarArchivo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cerrarArchivo(evt);
            }
        });

        todos.setText("Todos");
        todos.setToolTipText("Seleccionar si se desea cerrar todos los archivos con un solo click");

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addComponent(cerrarArchivo)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(todos)
                .addGap(0, 40, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 545, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(cerrarArchivo)
                    .addComponent(todos))
                .addContainerGap())
        );

        pestaniasDAA.addTab("Archivos abiertos", jPanel1);

        panelSplit.setLeftComponent(pestaniasDAA);

        menuArchivo.setMnemonic('A');
        menuArchivo.setText("Archivo");

        itemConfiguracion.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.CTRL_MASK));
        itemConfiguracion.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/configuracion.png"))); // NOI18N
        itemConfiguracion.setText("Configuración...");
        itemConfiguracion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemConfiguracion(evt);
            }
        });
        menuArchivo.add(itemConfiguracion);
        menuArchivo.add(jSeparator1);

        itemAcercaDe.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_Y, java.awt.event.InputEvent.CTRL_MASK));
        itemAcercaDe.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/acerca_de.png"))); // NOI18N
        itemAcercaDe.setText("Acerca de...");
        itemAcercaDe.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemAcercaDe(evt);
            }
        });
        menuArchivo.add(itemAcercaDe);
        menuArchivo.add(jSeparator2);

        itemSalir.setText("Salir");
        itemSalir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemSalir(evt);
            }
        });
        menuArchivo.add(itemSalir);

        jMenuBar1.add(menuArchivo);

        menuHerramientas.setMnemonic('H');
        menuHerramientas.setText("Herramientas");

        itemAgenda.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_G, java.awt.event.InputEvent.CTRL_MASK));
        itemAgenda.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/calendario.png"))); // NOI18N
        itemAgenda.setText("Agenda...");
        itemAgenda.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemAgenda(evt);
            }
        });
        menuHerramientas.add(itemAgenda);

        menuBuscar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/buscar.png"))); // NOI18N
        menuBuscar.setText("Buscar...");

        itemBuscarArchivo.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_R, java.awt.event.InputEvent.CTRL_MASK));
        itemBuscarArchivo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/archivo.png"))); // NOI18N
        itemBuscarArchivo.setText("Archivo...");
        itemBuscarArchivo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemBuscarArchivo(evt);
            }
        });
        menuBuscar.add(itemBuscarArchivo);

        itemBuscarCarpeta.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_P, java.awt.event.InputEvent.CTRL_MASK));
        itemBuscarCarpeta.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/carpeta.png"))); // NOI18N
        itemBuscarCarpeta.setText("Carpeta...");
        itemBuscarCarpeta.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemBuscarCarpeta(evt);
            }
        });
        menuBuscar.add(itemBuscarCarpeta);

        menuBuscarCliente.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/cliente.png"))); // NOI18N
        menuBuscarCliente.setText("Cliente");

        itemBuscarClienteApellido.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_A, java.awt.event.InputEvent.CTRL_MASK));
        itemBuscarClienteApellido.setText("Apellido...");
        itemBuscarClienteApellido.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemBuscarClienteApellido(evt);
            }
        });
        menuBuscarCliente.add(itemBuscarClienteApellido);

        itemBuscarClienteDni.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_D, java.awt.event.InputEvent.CTRL_MASK));
        itemBuscarClienteDni.setText("DNI...");
        itemBuscarClienteDni.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemBuscarClienteDni(evt);
            }
        });
        menuBuscarCliente.add(itemBuscarClienteDni);

        itemBuscarClienteNombre.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_N, java.awt.event.InputEvent.CTRL_MASK));
        itemBuscarClienteNombre.setText("Nombre...");
        itemBuscarClienteNombre.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemBuscarClienteNombre(evt);
            }
        });
        menuBuscarCliente.add(itemBuscarClienteNombre);

        menuBuscar.add(menuBuscarCliente);

        menuBuscarExpediente.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/icono/expediente.png"))); // NOI18N
        menuBuscarExpediente.setText("Expediente");

        itemBuscarExpedienteCaratula.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_U, java.awt.event.InputEvent.CTRL_MASK));
        itemBuscarExpedienteCaratula.setText("Carátula...");
        itemBuscarExpedienteCaratula.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemBuscarExpedienteCaratula(evt);
            }
        });
        menuBuscarExpediente.add(itemBuscarExpedienteCaratula);

        itemBuscarExpedienteEstado.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_E, java.awt.event.InputEvent.CTRL_MASK));
        itemBuscarExpedienteEstado.setText("Estado...");
        itemBuscarExpedienteEstado.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemBuscarExpedienteEstado(evt);
            }
        });
        menuBuscarExpediente.add(itemBuscarExpedienteEstado);

        itemBuscarExpedienteInstancia.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_I, java.awt.event.InputEvent.CTRL_MASK));
        itemBuscarExpedienteInstancia.setText("Instancia...");
        itemBuscarExpedienteInstancia.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemBuscarExpedienteInstancia(evt);
            }
        });
        menuBuscarExpediente.add(itemBuscarExpedienteInstancia);

        itemBuscarExpedienteJuzgado.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_J, java.awt.event.InputEvent.CTRL_MASK));
        itemBuscarExpedienteJuzgado.setText("Juzgado...");
        itemBuscarExpedienteJuzgado.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemBuscarExpedienteJuzgado(evt);
            }
        });
        menuBuscarExpediente.add(itemBuscarExpedienteJuzgado);

        itemBuscarExpedienteSecretaria.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.CTRL_MASK));
        itemBuscarExpedienteSecretaria.setText("Secretaría...");
        itemBuscarExpedienteSecretaria.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemBuscarExpedienteSecretaria(evt);
            }
        });
        menuBuscarExpediente.add(itemBuscarExpedienteSecretaria);

        itemBuscarExpedienteTipo.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_T, java.awt.event.InputEvent.CTRL_MASK));
        itemBuscarExpedienteTipo.setText("Tipo...");
        itemBuscarExpedienteTipo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemBuscarExpedienteTipo(evt);
            }
        });
        menuBuscarExpediente.add(itemBuscarExpedienteTipo);

        menuBuscar.add(menuBuscarExpediente);

        menuHerramientas.add(menuBuscar);

        jMenuBar1.add(menuHerramientas);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(panelWidgetAgenda, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addComponent(barraHerramientas, javax.swing.GroupLayout.DEFAULT_SIZE, 1050, Short.MAX_VALUE)
            .addComponent(panelSplit, javax.swing.GroupLayout.DEFAULT_SIZE, 1050, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addComponent(barraHerramientas, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(panelSplit, javax.swing.GroupLayout.DEFAULT_SIZE, 615, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(panelWidgetAgenda, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void itemConfiguracion(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemConfiguracion
        this.configuracion(false);
    }//GEN-LAST:event_itemConfiguracion

    private void itemAcercaDe(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemAcercaDe
        DialogoAcercaDe dad= new DialogoAcercaDe(Nucleo.obtenerVersionSistema(), Nucleo.obtenerFechaCompilacion(),
                Nucleo.obtenerVersionJVM());
        dad.hacerVisible(this);
    }//GEN-LAST:event_itemAcercaDe

    private void itemSalir(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemSalir
        this.salir(true);
    }//GEN-LAST:event_itemSalir

    private void itemAgenda(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemAgenda
        this.abrirDialogoAgenda();
    }//GEN-LAST:event_itemAgenda

    private void itemBuscarArchivo(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemBuscarArchivo
        this.buscar(DialogoBusqueda.BUSCAR_ARCHIVO);
    }//GEN-LAST:event_itemBuscarArchivo

    private void itemBuscarCarpeta(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemBuscarCarpeta
        this.buscar(DialogoBusqueda.BUSCAR_CARPETA);
    }//GEN-LAST:event_itemBuscarCarpeta

    private void itemBuscarClienteApellido(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemBuscarClienteApellido
        this.buscar(DialogoBusqueda.BUSCAR_CLIENTE_APELLIDO);
    }//GEN-LAST:event_itemBuscarClienteApellido

    private void itemBuscarClienteDni(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemBuscarClienteDni
        this.buscar(DialogoBusqueda.BUSCAR_CLIENTE_DNI);
    }//GEN-LAST:event_itemBuscarClienteDni

    private void itemBuscarClienteNombre(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemBuscarClienteNombre
        this.buscar(DialogoBusqueda.BUSCAR_CLIENTE_NOMBRE);
    }//GEN-LAST:event_itemBuscarClienteNombre

    private void panelWidgetAgendaAnterior(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_panelWidgetAgendaAnterior
        pwac.anterior();
    }//GEN-LAST:event_panelWidgetAgendaAnterior

    private void panelWidgetAgendaSiguiente(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_panelWidgetAgendaSiguiente
        pwac.siguiente();
    }//GEN-LAST:event_panelWidgetAgendaSiguiente

    private void panelWidgetAgendaHoy(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_panelWidgetAgendaHoy
        this.abrirDialogoAgenda();
    }//GEN-LAST:event_panelWidgetAgendaHoy

    private void barraHerramientasGuardar(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_barraHerramientasGuardar
        ppc.guardarPestaniaSeleccionada();
    }//GEN-LAST:event_barraHerramientasGuardar

    private void barraHerramientasGuardarTodo(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_barraHerramientasGuardarTodo
        ppc.guardarPestaniasTodas();
    }//GEN-LAST:event_barraHerramientasGuardarTodo

    private void barraHerramientasNuevaCarpeta(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_barraHerramientasNuevaCarpeta
        pac.nuevaCarpeta();
    }//GEN-LAST:event_barraHerramientasNuevaCarpeta

    private void barraHerramientasNuevoCliente(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_barraHerramientasNuevoCliente
        pac.nuevoCliente();
    }//GEN-LAST:event_barraHerramientasNuevoCliente

    private void barraHerramientasNuevoArchivo(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_barraHerramientasNuevoArchivo
        pac.nuevoArchivo();
    }//GEN-LAST:event_barraHerramientasNuevoArchivo

    private void barraHerramientasCopiar(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_barraHerramientasCopiar
        pac.copiar();
    }//GEN-LAST:event_barraHerramientasCopiar

    private void barraHerramientasCortar(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_barraHerramientasCortar
        pac.cortar();
    }//GEN-LAST:event_barraHerramientasCortar

    private void barraHerramientasPegar(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_barraHerramientasPegar
        pac.pegar();
    }//GEN-LAST:event_barraHerramientasPegar

    private void barraHerramientasRenombrar(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_barraHerramientasRenombrar
        pac.renombrar();
    }//GEN-LAST:event_barraHerramientasRenombrar

    private void barraHerramientasEliminar(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_barraHerramientasEliminar
        pac.eliminar();
    }//GEN-LAST:event_barraHerramientasEliminar

    private void arbolKey(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_arbolKey
        DefaultMutableTreeNode nodoSeleccionado= (DefaultMutableTreeNode) arbol.getLastSelectedPathComponent();
        if (evt.getKeyCode() == java.awt.event.KeyEvent.VK_ENTER)
            this.actualizarBotonesPanelPrincipalYMostrarPopup(nodoSeleccionado, false, true, null);
        else
            this.actualizarBotonesPanelPrincipalYMostrarPopup(nodoSeleccionado, false, false, null);
    }//GEN-LAST:event_arbolKey

    private void arbolMouse(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_arbolMouse
        if (evt.getButton() == java.awt.event.MouseEvent.BUTTON1 && evt.getClickCount() == 1)
        {
            this.actualizarBotonesPanelPrincipalYMostrarPopup(
                    (DefaultMutableTreeNode) arbol.getLastSelectedPathComponent(), false, false, evt);
            return;
        }
        if (evt.getButton() == java.awt.event.MouseEvent.BUTTON1 && evt.getClickCount() == 2)
        {
            this.actualizarBotonesPanelPrincipalYMostrarPopup(
                    (DefaultMutableTreeNode) arbol.getLastSelectedPathComponent(), false, true, evt);
            return;
        }
        if (evt.getButton() == java.awt.event.MouseEvent.BUTTON3)
        {
            arbol.clearSelection();
            this.actualizarBotonesPanelPrincipalYMostrarPopup(null, false, false, evt);
            TreePath path = arbol.getPathForLocation(evt.getX(), evt.getY());
            if (path != null)
            {
                arbol.setSelectionPath(path);
                this.actualizarBotonesPanelPrincipalYMostrarPopup(
                        (DefaultMutableTreeNode) arbol.getLastSelectedPathComponent(), true, false, evt);
            }
        }
    }//GEN-LAST:event_arbolMouse

    private void arbolColapsar(javax.swing.event.TreeExpansionEvent evt) {//GEN-FIRST:event_arbolColapsar
        DefaultMutableTreeNode nodoColapsar= (DefaultMutableTreeNode) evt.getPath().getLastPathComponent();
        pac.colapsarCarpeta(nodoColapsar);
    }//GEN-LAST:event_arbolColapsar

    private void arbolExpandir(javax.swing.event.TreeExpansionEvent evt)throws javax.swing.tree.ExpandVetoException {//GEN-FIRST:event_arbolExpandir
        DefaultMutableTreeNode nodoExpandir= (DefaultMutableTreeNode) evt.getPath().getLastPathComponent();
        pac.expandirCarpeta(nodoExpandir);
    }//GEN-LAST:event_arbolExpandir

    private void cerrarArchivo(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cerrarArchivo
        paac.cerrar();
    }//GEN-LAST:event_cerrarArchivo

    private void nuevaCarpetaPopCarpeta(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nuevaCarpetaPopCarpeta
        pac.nuevaCarpeta();
}//GEN-LAST:event_nuevaCarpetaPopCarpeta

    private void nuevoClientePopCarpeta(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nuevoClientePopCarpeta
        pac.nuevoCliente();
}//GEN-LAST:event_nuevoClientePopCarpeta

    private void nuevoArchivoPopCarpeta(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nuevoArchivoPopCarpeta
        pac.nuevoArchivo();
}//GEN-LAST:event_nuevoArchivoPopCarpeta

    private void copiarPopCarpeta(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_copiarPopCarpeta
        pac.copiar();
}//GEN-LAST:event_copiarPopCarpeta

    private void cortarPopCarpeta(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cortarPopCarpeta
        pac.cortar();
}//GEN-LAST:event_cortarPopCarpeta

    private void pegarPopCarpeta(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_pegarPopCarpeta
        pac.pegar();
}//GEN-LAST:event_pegarPopCarpeta

    private void renombrarPopCarpeta(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_renombrarPopCarpeta
        pac.renombrar();
}//GEN-LAST:event_renombrarPopCarpeta

    private void eliminarPopCarpeta(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_eliminarPopCarpeta
        pac.eliminar();
}//GEN-LAST:event_eliminarPopCarpeta

    private void abrirPopHoja(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_abrirPopHoja
        DefaultMutableTreeNode nodo= (DefaultMutableTreeNode) arbol.getLastSelectedPathComponent();
        if (nodo != null)
        {
            Object elemento= nodo.getUserObject();
            if (elemento instanceof Cliente)
                ppc.abrirCliente((Cliente) elemento);
            else
                paac.abrirArchivo((Archivo) elemento);
        }
}//GEN-LAST:event_abrirPopHoja

    private void copiarPopHoja(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_copiarPopHoja
        pac.copiar();
}//GEN-LAST:event_copiarPopHoja

    private void cortarPopHoja(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cortarPopHoja
        pac.cortar();
}//GEN-LAST:event_cortarPopHoja

    private void renombrarPopHoja(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_renombrarPopHoja
        pac.renombrar();
}//GEN-LAST:event_renombrarPopHoja

    private void eliminarPopHoja(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_eliminarPopHoja
        pac.eliminar();
}//GEN-LAST:event_eliminarPopHoja

    private void nuevaCarpetaPopRaiz(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nuevaCarpetaPopRaiz
        pac.nuevaCarpeta();
}//GEN-LAST:event_nuevaCarpetaPopRaiz

    private void nuevoClientePopRaiz(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nuevoClientePopRaiz
        pac.nuevoCliente();
}//GEN-LAST:event_nuevoClientePopRaiz

    private void nuevoArchivoPopRaiz(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nuevoArchivoPopRaiz
        pac.nuevoArchivo();
}//GEN-LAST:event_nuevoArchivoPopRaiz

    private void salir(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_salir
        this.salir(true);
    }//GEN-LAST:event_salir

    private void itemBuscarExpedienteCaratula(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemBuscarExpedienteCaratula
        this.buscar(DialogoBusqueda.BUSCAR_EXPEDIENTE_CARATULA);
    }//GEN-LAST:event_itemBuscarExpedienteCaratula

    private void itemBuscarExpedienteEstado(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemBuscarExpedienteEstado
        this.buscar(DialogoBusqueda.BUSCAR_EXPEDIENTE_ESTADO);
    }//GEN-LAST:event_itemBuscarExpedienteEstado

    private void itemBuscarExpedienteInstancia(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemBuscarExpedienteInstancia
        this.buscar(DialogoBusqueda.BUSCAR_EXPEDIENTE_INSTANCIA);
    }//GEN-LAST:event_itemBuscarExpedienteInstancia

    private void itemBuscarExpedienteJuzgado(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemBuscarExpedienteJuzgado
        this.buscar(DialogoBusqueda.BUSCAR_EXPEDIENTE_JUZGADO);
    }//GEN-LAST:event_itemBuscarExpedienteJuzgado

    private void itemBuscarExpedienteSecretaria(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemBuscarExpedienteSecretaria
        this.buscar(DialogoBusqueda.BUSCAR_EXPEDIENTE_SECRETARIA);
    }//GEN-LAST:event_itemBuscarExpedienteSecretaria

    private void itemBuscarExpedienteTipo(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemBuscarExpedienteTipo
        this.buscar(DialogoBusqueda.BUSCAR_EXPEDIENTE_TIPO);
    }//GEN-LAST:event_itemBuscarExpedienteTipo

    private void barraHerramientasNuevoExpediente(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_barraHerramientasNuevoExpediente
        pac.nuevoExpediente();
    }//GEN-LAST:event_barraHerramientasNuevoExpediente

    private void abrirPopCarpeta(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_abrirPopCarpeta
        DefaultMutableTreeNode nodo= (DefaultMutableTreeNode) arbol.getLastSelectedPathComponent();
        if (nodo != null)
        {
            Carpeta expediente= (Carpeta) nodo.getUserObject();
            ppc.abrirExpediente(expediente);
        }
    }//GEN-LAST:event_abrirPopCarpeta

    private void nuevoExpedientePopCarpeta(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nuevoExpedientePopCarpeta
        pac.nuevoExpediente();
    }//GEN-LAST:event_nuevoExpedientePopCarpeta

    private void pegarPopRaiz(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_pegarPopRaiz
        pac.pegar();
    }//GEN-LAST:event_pegarPopRaiz

    public void iniciar()
    {
        DialogoConexion dc= new DialogoConexion();
        try {
            this.setVisible(true);
            this.cursorOcupado();
            dc.hacerVisible(this);
            nucleo= new Nucleo();
            nucleo.agregarInformarUsuarioListener(this);
            nucleo.conectar();
            paac.setVentana(this);
            paac.setNucleo(nucleo);
            ppc.setVentana(this);
            ppc.setNucleo(nucleo);
            ppc.setPanelArbolControlador(pac);
            pac.setVentana(this);
            pac.setNucleo(nucleo);
            pac.setPanelArchivosAbiertosControlador(paac);
            pac.setPanelPestaniasControlador(ppc);
            pac.iniciar();
            dc.ocultar();
            this.cursorLibre();
        } catch (IOException ex) {dc.ocultar();
                                  nucleo.desconectarPorErrorGrave();
                                  this.manejarErrorIniciar(ex);}
          catch (NotBoundException ex) {dc.ocultar();
                                        nucleo.desconectarPorErrorGrave();
                                        this.manejarErrorIniciar(ex);}
    }

    private void errorLAF()
    {
        GestorLog.escribirLog(ERROR_LAF);
        JOptionPane.showMessageDialog(null, ERROR_LAF, "Error JVM", JOptionPane.ERROR_MESSAGE);
        System.exit(-1);
    }

    private void manejarErrorIniciar(Exception ex)
    {
        this.cursorLibre();
        if (ex instanceof SocketException || ex instanceof UnknownHostException || ex instanceof RemoteException)
        {
            DialogoConexionError dce= new DialogoConexionError(DialogoConexionError.TIPO_CONEXION_FALLIDA, ex.getMessage());
            int resp= dce.hacerVisible(this);
            if (resp == DialogoConexionError.OPCION_CONFIGURAR)
                this.configuracion(true);
            else
                System.exit(0);
        }
        else
            this.errorGrave(ex.getMessage());
    }

    private void configuracion(boolean iniciando)
    {
        try {
            String reiniciar= "Parámetros de configuración guardados.\nLa aplicación debe ser reiniciada para " +
                    "aplicar los cambios. Por favor vuelva a ejecutarla.";
            this.cursorOcupado();
            String [] conf= nucleo.obtenerConfiguracionRed();
            this.cursorLibre();
            DialogoConfiguracion dialogo= new DialogoConfiguracion(nucleo.obtenerConfiguracionApps(), conf[0],
                    conf[1], conf[2], nucleo.obtenerInterfacesRed(), conf[3], Integer.parseInt(conf[4]));
            if (dialogo.hacerVisible(this))
            {
                this.cursorOcupado();
                nucleo.guardarConfiguracionRed(dialogo.getIpServidor(), dialogo.getPuertoRMIServidor(),
                        dialogo.getPuertoRMILocal(), dialogo.getInterfaceSeleccionada(), dialogo.getTipoIP());
                nucleo.guardarConfiguracionApps(dialogo.getAplicaciones());
                this.cursorLibre();
                JOptionPane.showMessageDialog(this, reiniciar, "Configuración", JOptionPane.WARNING_MESSAGE);
                if (!iniciando)
                    this.salir(false);
            }
            if (iniciando)
                System.exit(0);
        } catch (IOException ex) {this.cursorLibre();
                                  this.errorGrave(ex.getMessage());}
    }

    public void actualizarBotonesPanelPrincipalYMostrarPopup(DefaultMutableTreeNode nodoSeleccionado, boolean mostrar,
            boolean abrir, MouseEvent e)
    {
        if (nodoSeleccionado == null)
        {
            this.habilitarBotones(SELECCIONO_NODO_VACIO);
            arbol.setToolTipText(null);
            return;
        }
        if (nodoSeleccionado.isRoot())
        {
            this.habilitarBotones(SELECCIONO_NODO_RAIZ);
            arbol.setToolTipText("Directorio");
            if (mostrar)
                popupRaiz.show(arbol, e.getX(), e.getY());
            return;
        }
        if (nodoSeleccionado.getUserObject() instanceof Carpeta)
        {
            Carpeta car= (Carpeta) nodoSeleccionado.getUserObject();
            if (car.esExpediente())
            {
                this.habilitarBotones(SELECCIONO_NODO_EXPEDIENTE);
                abrirPopCarpeta.setVisible(true);
                separadorPopCarpeta.setVisible(true);
                nuevaCarpetaPopCarpeta.setVisible(false);
                nuevoExpedientePopCarpeta.setVisible(false);
                renombrarPopCarpeta.setVisible(false);
                if (abrir)
                    this.abrirPopCarpeta(null);
            }
            else
            {
                this.habilitarBotones(SELECCIONO_NODO_CARPETA);
                abrirPopCarpeta.setVisible(false);
                separadorPopCarpeta.setVisible(false);
                nuevaCarpetaPopCarpeta.setVisible(true);
                nuevoExpedientePopCarpeta.setVisible(true);
                renombrarPopCarpeta.setVisible(true);
            }
            arbol.setToolTipText(car.getNombre());
            if (mostrar)
                popupCarpeta.show(arbol, e.getX(), e.getY());
            return;
        }
        if (nodoSeleccionado.getUserObject() instanceof Cliente)
        {
            this.habilitarBotones(SELECCIONO_NODO_CLIENTE);
            arbol.setToolTipText(((Cliente) nodoSeleccionado.getUserObject()).toString());
            renombrarPopHoja.setVisible(false);
            if (mostrar)
                popupHoja.show(arbol, e.getX(), e.getY());
            if (abrir)
                this.abrirPopHoja(null);
            return;
        }
        this.habilitarBotones(SELECCIONO_NODO_ARCHIVO); //SI NO ENTRÓ EN NINGUN IF ENTONCES ES UN ARCHIVO.
        arbol.setToolTipText(((Archivo) nodoSeleccionado.getUserObject()).toString());
        renombrarPopHoja.setVisible(true);
        if (mostrar)
            popupHoja.show(arbol, e.getX(), e.getY());
        if (abrir)
            this.abrirPopHoja(null);
    }

    private void habilitarBotones(int tipo)
    {
        this.cursorOcupado();
        this.habilitarBotonesTodos(true);
        switch (tipo)
        {
            case SELECCIONO_NODO_CLIENTE:
                nuevaCarpeta.setEnabled(false);
                nuevoCliente.setEnabled(false);
                nuevoArchivo.setEnabled(false);
                nuevoExpediente.setEnabled(false);
                renombrar.setEnabled(false);
                pegar.setEnabled(false);
                break;
            case SELECCIONO_NODO_VACIO:
                this.habilitarBotonesTodos(false);
                break;
            case SELECCIONO_NODO_RAIZ:
                copiar.setEnabled(false);
                cortar.setEnabled(false);
                renombrar.setEnabled(false);
                eliminar.setEnabled(false);
                break;
            case SELECCIONO_NODO_ARCHIVO:
                nuevaCarpeta.setEnabled(false);
                nuevoCliente.setEnabled(false);
                nuevoArchivo.setEnabled(false);
                nuevoExpediente.setEnabled(false);
                pegar.setEnabled(false);
                break;
            case SELECCIONO_NODO_EXPEDIENTE:
                nuevaCarpeta.setEnabled(false);
                nuevoExpediente.setEnabled(false);
                renombrar.setEnabled(false);
                break;
        }
        this.cursorLibre();
    }

    private void habilitarBotonesTodos(boolean valor)
    {
        nuevaCarpeta.setEnabled(valor);
        nuevoExpediente.setEnabled(valor);
        nuevoCliente.setEnabled(valor);
        nuevoArchivo.setEnabled(valor);
        copiar.setEnabled(valor);
        cortar.setEnabled(valor);
        pegar.setEnabled(valor);
        renombrar.setEnabled(valor);
        eliminar.setEnabled(valor);
    }

    public void errorRed(String msj)
    {
        this.cursorLibre();
        DialogoConexionError dce= new DialogoConexionError(DialogoConexionError.TIPO_CONEXION_PERDIDA, msj);
        dce.hacerVisible(this);
        nucleo.desconectarPorErrorGrave();
        System.exit(-1);
    }

    public void errorGrave(String msj)
    {
        GestorLog.escribirLog(msj);
        this.cursorLibre();
        DialogoErrorGrave deg= new DialogoErrorGrave(msj);
        deg.hacerVisible(this);
        nucleo.desconectarPorErrorGrave();
        System.exit(-1);
    }

    private void abrirDialogoAgenda()
    {
        try {
            DialogoAgenda da= new DialogoAgenda(nucleo);
            String error= da.hacerVisible(this);
            if (!error.isEmpty())
                this.errorRed(error);
        } catch (RemoteException ex) {this.errorRed(ex.getMessage());}
    }

    private void buscar(int tipoBusqueda)
    {
        Object o;
        switch (tipoBusqueda)
        {
            case DialogoBusqueda.BUSCAR_EXPEDIENTE_ESTADO:
                DialogoBusquedaEstado dbe= new DialogoBusquedaEstado(nucleo);
                o= dbe.hacerVisible(this);
                break;
            case DialogoBusqueda.BUSCAR_EXPEDIENTE_INSTANCIA:
                DialogoBusquedaInstancia dbi= new DialogoBusquedaInstancia(nucleo);
                o= dbi.hacerVisible(this);
                break;
            default:
                DialogoBusqueda db= new DialogoBusqueda(nucleo, tipoBusqueda);
                o= db.hacerVisible(this);
        }
        if (o != null)
        {
            if (o instanceof String)
                this.errorRed((String) o);
            else
                pac.buscar((ItemBusqueda) o);
        }
    }

    @Override
    public void conexionPerdida() {
        String msj= "La conexión con el Servidor se ha perdido y la aplicación debe cerrarse.\n\n" +
                "Los cambios que no fueron guardados se perderán.";
        this.errorRed(msj);
    }

    private void salir(boolean valeCancelar)
    {
        boolean falla= false;
        String msj= "La aplicación no puede cerrarse por uno o ambos de los siguientes motivos:\n\n" +
                "- Algunos archivos están siendo utilizados por aplicaciones externas. Cierre dichas aplicaciones.\n" +
                "- Algunos clientes y/o expedientes poseen campos incorrectos. Verifique dichos campos.";
        List<ItemGuardar> clientesModificados= ppc.getPanelesClientesModificados();
        List<ItemGuardar> archivosModificados= paac.getArchivosModificados();
        List<ItemGuardar> expedientesModificados= ppc.getPanelesExpedienteModificados();
        DialogoArchivo da= new DialogoArchivo(DialogoArchivo.TIPO_TRANSFERIR);
        try {
            if (!clientesModificados.isEmpty() || !archivosModificados.isEmpty() || !expedientesModificados.isEmpty())
            {
                DialogoGuardar dg= new DialogoGuardar(clientesModificados, archivosModificados, expedientesModificados,
                        valeCancelar);
                int resp= dg.hacerVisible(this);
                if (resp == DialogoGuardar.OPCION_CANCELAR)
                    return;
                this.cursorOcupado();
                da.hacerVisible(this);
                for (ItemGuardar ig : archivosModificados)
                {
                    if (!paac.cerrarArchivoModificado((Archivo) ig.getItem(), ig.estaSeleccionado()))
                        falla= true;
                }
                for (ItemGuardar ig : clientesModificados)
                {
                    try {
                        Carpeta actualizar= ppc.cerrarPestaniaModificada((PanelCliente) ig.getItem(), ig.estaSeleccionado());
                        if (actualizar != null)
                            pac.actualizarCarpeta(actualizar, InterfazServiciosServidor.ORDENAR_CLIENTES);
                    } catch (VerificadorException e) {falla= true;}
                }
                for (ItemGuardar ig : expedientesModificados)
                {
                    try {
                        Carpeta actualizar= ppc.cerrarPestaniaModificada((PanelExpediente) ig.getItem(),
                                ig.estaSeleccionado());
                        if (actualizar != null)
                            pac.actualizarCarpeta(actualizar, InterfazServiciosServidor.ORDENAR_CARPETAS);
                    } catch (VerificadorException e) {falla= true;}
                }
            }
            ppc.cerrarPestaniasNoModificadas();
            if (!paac.cerrarArchivosNoModificados())
                falla= true;
            da.ocultar();
            if (falla)
            {
                this.cursorLibre();
                pestaniasDAA.setSelectedIndex(1);
                JOptionPane.showMessageDialog(this, msj, "Salir", JOptionPane.WARNING_MESSAGE);
            }
            else
            {
                nucleo.desconectar();
                this.cursorLibre();
                System.exit(0);
            }
        } catch (RemoteException ex) {da.ocultar(); this.errorRed(ex.getMessage());}
          catch (IOException ex) {da.ocultar(); this.errorGrave(ex.getMessage());}
    }

    @Override
    public void setProximosEventos(List<ItemAgenda> eventos) {
        pwac.actualizarProximosEventos(eventos);
    }

    @Override
    public void tiempoCumplido() {
        pwac.tiempoCumplido();
    }

    @Override
    public void cursorOcupado() {
        this.setCursor(new Cursor(Cursor.WAIT_CURSOR));
    }

    @Override
    public void cursorLibre() {
        this.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
    }
    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JMenuItem abrirPopCarpeta;
    private javax.swing.JMenuItem abrirPopHoja;
    private javax.swing.JButton anterior;
    private javax.swing.JTree arbol;
    private javax.swing.JToolBar barraHerramientas;
    private javax.swing.JButton cerrarArchivo;
    private javax.swing.JButton copiar;
    private javax.swing.JMenuItem copiarPopCarpeta;
    private javax.swing.JMenuItem copiarPopHoja;
    private javax.swing.JButton cortar;
    private javax.swing.JMenuItem cortarPopCarpeta;
    private javax.swing.JMenuItem cortarPopHoja;
    private javax.swing.JButton eliminar;
    private javax.swing.JMenuItem eliminarPopCarpeta;
    private javax.swing.JMenuItem eliminarPopHoja;
    private javax.swing.JButton guardar;
    private javax.swing.JButton guardarTodo;
    private javax.swing.JLabel hoy;
    private javax.swing.JMenuItem itemAcercaDe;
    private javax.swing.JMenuItem itemAgenda;
    private javax.swing.JMenuItem itemBuscarArchivo;
    private javax.swing.JMenuItem itemBuscarCarpeta;
    private javax.swing.JMenuItem itemBuscarClienteApellido;
    private javax.swing.JMenuItem itemBuscarClienteDni;
    private javax.swing.JMenuItem itemBuscarClienteNombre;
    private javax.swing.JMenuItem itemBuscarExpedienteCaratula;
    private javax.swing.JMenuItem itemBuscarExpedienteEstado;
    private javax.swing.JMenuItem itemBuscarExpedienteInstancia;
    private javax.swing.JMenuItem itemBuscarExpedienteJuzgado;
    private javax.swing.JMenuItem itemBuscarExpedienteSecretaria;
    private javax.swing.JMenuItem itemBuscarExpedienteTipo;
    private javax.swing.JMenuItem itemConfiguracion;
    private javax.swing.JMenuItem itemSalir;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JPopupMenu.Separator jSeparator1;
    private javax.swing.JPopupMenu.Separator jSeparator10;
    private javax.swing.JPopupMenu.Separator jSeparator2;
    private javax.swing.JToolBar.Separator jSeparator3;
    private javax.swing.JToolBar.Separator jSeparator4;
    private javax.swing.JToolBar.Separator jSeparator5;
    private javax.swing.JPopupMenu.Separator jSeparator6;
    private javax.swing.JPopupMenu.Separator jSeparator7;
    private javax.swing.JPopupMenu.Separator jSeparator8;
    private javax.swing.JPopupMenu.Separator jSeparator9;
    private javax.swing.JList listaArchivos;
    private javax.swing.JMenu menuArchivo;
    private javax.swing.JMenu menuBuscar;
    private javax.swing.JMenu menuBuscarCliente;
    private javax.swing.JMenu menuBuscarExpediente;
    private javax.swing.JMenu menuHerramientas;
    private javax.swing.JButton nuevaCarpeta;
    private javax.swing.JMenuItem nuevaCarpetaPopCarpeta;
    private javax.swing.JMenuItem nuevaCarpetaPopRaiz;
    private javax.swing.JButton nuevoArchivo;
    private javax.swing.JMenuItem nuevoArchivoPopCarpeta;
    private javax.swing.JMenuItem nuevoArchivoPopRaiz;
    private javax.swing.JButton nuevoCliente;
    private javax.swing.JMenuItem nuevoClientePopCarpeta;
    private javax.swing.JMenuItem nuevoClientePopRaiz;
    private javax.swing.JButton nuevoExpediente;
    private javax.swing.JMenuItem nuevoExpedientePopCarpeta;
    private javax.swing.JTabbedPane panelPestanias;
    private javax.swing.JSplitPane panelSplit;
    private javax.swing.JPanel panelWidgetAgenda;
    private javax.swing.JButton pegar;
    private javax.swing.JMenuItem pegarPopCarpeta;
    private javax.swing.JMenuItem pegarPopRaiz;
    private javax.swing.JTabbedPane pestaniasDAA;
    private javax.swing.JPopupMenu popupCarpeta;
    private javax.swing.JPopupMenu popupHoja;
    private javax.swing.JPopupMenu popupRaiz;
    private javax.swing.JLabel recordatorio;
    private javax.swing.JButton renombrar;
    private javax.swing.JMenuItem renombrarPopCarpeta;
    private javax.swing.JMenuItem renombrarPopHoja;
    private javax.swing.JPopupMenu.Separator separadorPopCarpeta;
    private javax.swing.JButton siguiente;
    private javax.swing.JCheckBox todos;
    // End of variables declaration//GEN-END:variables
}
